package com.blood.modules.pregnancy.service;

import com.blood.core.config.mybatisplus.ICommonService;
import com.blood.core.resp.PageResult;
import com.blood.core.resp.ResponseResult;
import com.blood.modules.pregnancy.dto.req.PregnancyGatherUserPageReq;
import com.blood.modules.pregnancy.dto.req.PregnancyUserPageReq;
import com.blood.modules.pregnancy.dto.req.PregnancyUserReq;
import com.blood.modules.pregnancy.dto.req.PregnancyUserSaveReq;
import com.blood.modules.pregnancy.dto.resp.PregnancyGatherUserPageResp;
import com.blood.modules.pregnancy.dto.resp.PregnancyUserInfoResp;
import com.blood.modules.pregnancy.dto.resp.PregnancyUserPageResp;
import com.blood.modules.pregnancy.model.PregnancyUser;

import java.util.List;


/**
 * 孕产用户Service接口
 *
 * @author daoren
 * @date 2022-11-24 11:36:34
 */
public interface IPregnancyUserService extends ICommonService<PregnancyUser> {

    /**
     * 分页查询
     *
     * @param req 查询参数
     * @return 分页列表信息
     */
    ResponseResult<PageResult<PregnancyUserPageResp>> pageList(PregnancyUserPageReq req);

    /**
     * 采集用户分页查询
     *
     * @param req 查询参数
     * @return 分页列表信息
     */
    PageResult<PregnancyGatherUserPageResp> gatherUserPageList(PregnancyGatherUserPageReq req);

    /**
     * 获取列表
     *
     * @param req 查询参数
     * @return 列表信息
     */
    List<PregnancyUser> queryList(PregnancyUserReq req);

    /**
     * 添加
     *
     * @param req
     * @return 结果
     */
    ResponseResult<Void> saveInfo(PregnancyUserSaveReq req);

    /**
     * 更新信息
     *
     * @param req
     * @return 结果
     */
    ResponseResult<Void> updateInfo(PregnancyUserSaveReq req);

    /**
     * 根据id获取详情
     *
     * @param id
     * @return 详情
     */
    ResponseResult<PregnancyUserInfoResp> findDetailById(String id);
}
